package cn.fuxi2022.auth.properties;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * 配置类：加载配置文件中关于 微信开放平台 配置，供微信登录
 */
@Component
public class WeChatOpenConstantProperties implements InitializingBean {

    @Value("${wx.open.app_id}")
    private String appid;

    @Value("${wx.open.app_secret}")
    private String appsecret;

    @Value("${wx.open.scope}")
    private String scope;

    @Value("${wx.open.redirect_url}")
    private String redirect_url;

    @Value("${wx.open.send_redirect}")
    private String send_redirect;

    /**
     * 应用唯一标识，在微信开放平台提交应用审核通过后获得
     */
    public static String APP_ID;

    /**
     * 应用密钥AppSecret，在微信开放平台提交应用审核通过后获得
     */
    public static String APP_SECRET;

    /**
     * 网页应用目前仅填写snsapi_login即可
     */
    public static String SCOPE;

    /**
     * 用户允许授权后，将会重定向到redirect_uri的网址上，并且带上code和state参数
     */
    public static String REDIRECT_URL;

    /**
     * 用户微信登录，验证用户信息后，再次重定向。
     * 在该链接中，前端需要接收链接携带的参数token，完成登录
     */
    public static String SEND_REDIRECT;


    @Override
    public void afterPropertiesSet() {
        APP_ID = appid;
        APP_SECRET = appsecret;
        SCOPE = scope;
        REDIRECT_URL =redirect_url;
        SEND_REDIRECT = send_redirect;
    }
}
